#pragma once

namespace fabgl {

#ifdef FABGL_FONT_INCLUDE_DEFINITION

static const uint8_t FONT_5x7_DATA[] = {
   0x00, 0xa8, 0x00, 0x88, 0x00, 0xa8, 0x00,
   0x00, 0x20, 0x70, 0xf8, 0x70, 0x20, 0x00,
   0xa8, 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8,
   0xa0, 0xe0, 0xa0, 0x70, 0x20, 0x20, 0x00,
   0xe0, 0x80, 0xf8, 0xa0, 0x30, 0x20, 0x00,
   0x60, 0x80, 0xe0, 0x50, 0x60, 0x50, 0x00,
   0x80, 0x80, 0xf0, 0x20, 0x30, 0x20, 0x00,
   0x20, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00,
   0x20, 0x20, 0xf8, 0x20, 0x20, 0xf8, 0x00,
   0xc0, 0xa0, 0xa0, 0xa0, 0x20, 0x38, 0x00,
   0xa0, 0xa0, 0x78, 0x50, 0x10, 0x10, 0x00,
   0x20, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0xe0, 0x20, 0x20, 0x20,
   0x00, 0x00, 0x00, 0x38, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x38, 0x00, 0x00, 0x00,
   0x20, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x20,
   0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
   0x20, 0x20, 0x20, 0x38, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0xe0, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0xf8, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0xf8, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x10, 0x20, 0x40, 0x20, 0x10, 0x70, 0x00,
   0x40, 0x20, 0x10, 0x20, 0x40, 0x70, 0x00,
   0x00, 0x00, 0x70, 0x50, 0x50, 0x50, 0x00,
   0x00, 0x10, 0xf0, 0x20, 0xf0, 0x40, 0x00,
   0x00, 0x30, 0x40, 0xe0, 0x40, 0xb0, 0x00,
   0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x20, 0x20, 0x20, 0x20, 0x00, 0x20, 0x00,
   0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x50, 0xf8, 0x50, 0xf8, 0x50, 0x00,
   0x00, 0x70, 0xa0, 0x70, 0x28, 0x70, 0x00,
   0x80, 0x90, 0x20, 0x40, 0x90, 0x10, 0x00,
   0x00, 0x40, 0xa0, 0x40, 0xa0, 0x50, 0x00,
   0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
   0x20, 0x40, 0x40, 0x40, 0x40, 0x20, 0x00,
   0x40, 0x20, 0x20, 0x20, 0x20, 0x40, 0x00,
   0x00, 0x50, 0x20, 0x70, 0x20, 0x50, 0x00,
   0x00, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x30, 0x20, 0x40,
   0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00,
   0x00, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00,
   0x20, 0x50, 0x50, 0x50, 0x50, 0x20, 0x00,
   0x20, 0x60, 0x20, 0x20, 0x20, 0x70, 0x00,
   0x60, 0x90, 0x10, 0x20, 0x40, 0xf0, 0x00,
   0xf0, 0x10, 0x60, 0x10, 0x90, 0x60, 0x00,
   0x20, 0x60, 0xa0, 0xf0, 0x20, 0x20, 0x00,
   0xf0, 0x80, 0xe0, 0x10, 0x90, 0x60, 0x00,
   0x60, 0x80, 0xe0, 0x90, 0x90, 0x60, 0x00,
   0xf0, 0x10, 0x20, 0x20, 0x40, 0x40, 0x00,
   0x60, 0x90, 0x60, 0x90, 0x90, 0x60, 0x00,
   0x60, 0x90, 0x90, 0x70, 0x10, 0x60, 0x00,
   0x00, 0x60, 0x60, 0x00, 0x60, 0x60, 0x00,
   0x00, 0x60, 0x60, 0x00, 0x60, 0x40, 0x80,
   0x00, 0x10, 0x20, 0x40, 0x20, 0x10, 0x00,
   0x00, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0x00,
   0x00, 0x40, 0x20, 0x10, 0x20, 0x40, 0x00,
   0x20, 0x50, 0x10, 0x20, 0x00, 0x20, 0x00,
   0x60, 0x90, 0xb0, 0xb0, 0x80, 0x60, 0x00,
   0x60, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x00,
   0xe0, 0x90, 0xe0, 0x90, 0x90, 0xe0, 0x00,
   0x60, 0x90, 0x80, 0x80, 0x90, 0x60, 0x00,
   0xe0, 0x90, 0x90, 0x90, 0x90, 0xe0, 0x00,
   0xf0, 0x80, 0xe0, 0x80, 0x80, 0xf0, 0x00,
   0xf0, 0x80, 0xe0, 0x80, 0x80, 0x80, 0x00,
   0x60, 0x90, 0x80, 0xb0, 0x90, 0x70, 0x00,
   0x90, 0x90, 0xf0, 0x90, 0x90, 0x90, 0x00,
   0x70, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00,
   0x10, 0x10, 0x10, 0x10, 0x90, 0x60, 0x00,
   0x90, 0xa0, 0xc0, 0xc0, 0xa0, 0x90, 0x00,
   0x80, 0x80, 0x80, 0x80, 0x80, 0xf0, 0x00,
   0x90, 0xf0, 0xf0, 0x90, 0x90, 0x90, 0x00,
   0x90, 0xd0, 0xd0, 0xb0, 0xb0, 0x90, 0x00,
   0x60, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00,
   0xe0, 0x90, 0x90, 0xe0, 0x80, 0x80, 0x00,
   0x60, 0x90, 0x90, 0x90, 0xd0, 0x60, 0x10,
   0xe0, 0x90, 0x90, 0xe0, 0xa0, 0x90, 0x00,
   0x60, 0x90, 0x40, 0x20, 0x90, 0x60, 0x00,
   0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00,
   0x90, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00,
   0x90, 0x90, 0x90, 0x90, 0x60, 0x60, 0x00,
   0x90, 0x90, 0x90, 0xf0, 0xf0, 0x90, 0x00,
   0x90, 0x90, 0x60, 0x60, 0x90, 0x90, 0x00,
   0x50, 0x50, 0x50, 0x20, 0x20, 0x20, 0x00,
   0xf0, 0x10, 0x20, 0x40, 0x80, 0xf0, 0x00,
   0x70, 0x40, 0x40, 0x40, 0x40, 0x70, 0x00,
   0x00, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00,
   0x70, 0x10, 0x10, 0x10, 0x10, 0x70, 0x00,
   0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00,
   0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x70, 0x90, 0xb0, 0x50, 0x00,
   0x80, 0x80, 0xe0, 0x90, 0x90, 0xe0, 0x00,
   0x00, 0x00, 0x60, 0x80, 0x80, 0x60, 0x00,
   0x10, 0x10, 0x70, 0x90, 0x90, 0x70, 0x00,
   0x00, 0x00, 0x60, 0xb0, 0xc0, 0x60, 0x00,
   0x20, 0x50, 0x40, 0xe0, 0x40, 0x40, 0x00,
   0x00, 0x00, 0x70, 0x90, 0x60, 0x80, 0x70,
   0x80, 0x80, 0xe0, 0x90, 0x90, 0x90, 0x00,
   0x20, 0x00, 0x60, 0x20, 0x20, 0x70, 0x00,
   0x10, 0x00, 0x10, 0x10, 0x10, 0x50, 0x20,
   0x80, 0x80, 0xa0, 0xc0, 0xa0, 0x90, 0x00,
   0x60, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00,
   0x00, 0x00, 0xa0, 0xf0, 0x90, 0x90, 0x00,
   0x00, 0x00, 0xe0, 0x90, 0x90, 0x90, 0x00,
   0x00, 0x00, 0x60, 0x90, 0x90, 0x60, 0x00,
   0x00, 0x00, 0xe0, 0x90, 0x90, 0xe0, 0x80,
   0x00, 0x00, 0x70, 0x90, 0x90, 0x70, 0x10,
   0x00, 0x00, 0xe0, 0x90, 0x80, 0x80, 0x00,
   0x00, 0x00, 0x70, 0xc0, 0x30, 0xe0, 0x00,
   0x40, 0x40, 0xe0, 0x40, 0x40, 0x30, 0x00,
   0x00, 0x00, 0x90, 0x90, 0x90, 0x70, 0x00,
   0x00, 0x00, 0x50, 0x50, 0x50, 0x20, 0x00,
   0x00, 0x00, 0x90, 0x90, 0xf0, 0xf0, 0x00,
   0x00, 0x00, 0x90, 0x60, 0x60, 0x90, 0x00,
   0x00, 0x00, 0x90, 0x90, 0x50, 0x20, 0x40,
   0x00, 0x00, 0xf0, 0x20, 0x40, 0xf0, 0x00,
   0x10, 0x20, 0x60, 0x20, 0x20, 0x10, 0x00,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00,
   0x40, 0x20, 0x30, 0x20, 0x20, 0x40, 0x00,
   0x50, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x20, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00,
   0x00, 0x20, 0x70, 0xa0, 0xa0, 0x70, 0x20,
   0x00, 0x30, 0x40, 0xe0, 0x40, 0xb0, 0x00,
   0x00, 0x88, 0x70, 0x50, 0x70, 0x88, 0x00,
   0x50, 0x50, 0x20, 0x70, 0x20, 0x20, 0x00,
   0x00, 0x20, 0x20, 0x00, 0x20, 0x20, 0x00,
   0x30, 0x40, 0x60, 0x50, 0x30, 0x10, 0x60,
   0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x70, 0x88, 0xa8, 0xc8, 0xa8, 0x88, 0x70,
   0x60, 0xa0, 0x60, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x48, 0x90, 0x48, 0x00, 0x00,
   0x00, 0x00, 0x00, 0xf0, 0x10, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00,
   0x70, 0x88, 0xe8, 0xc8, 0xc8, 0x88, 0x70,
   0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x20, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00,
   0x20, 0x20, 0xf8, 0x20, 0x20, 0xf8, 0x00,
   0x60, 0x20, 0x40, 0x60, 0x00, 0x00, 0x00,
   0x60, 0x60, 0x20, 0x60, 0x00, 0x00, 0x00,
   0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x90, 0x90, 0x90, 0xe0, 0x80,
   0x70, 0xd0, 0xd0, 0x50, 0x50, 0x50, 0x00,
   0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40,
   0x20, 0x60, 0x20, 0x70, 0x00, 0x00, 0x00,
   0x40, 0xa0, 0x40, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x90, 0x48, 0x90, 0x00, 0x00,
   0x80, 0x80, 0x80, 0x90, 0x30, 0x70, 0x10,
   0x80, 0x80, 0x80, 0xb0, 0x10, 0x20, 0x30,
   0xc0, 0xc0, 0x40, 0xd0, 0x30, 0x70, 0x10,
   0x20, 0x00, 0x20, 0x40, 0x50, 0x20, 0x00,
   0x60, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x00,
   0x60, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x00,
   0x60, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x00,
   0x60, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x00,
   0x90, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x00,
   0x60, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x00,
   0x70, 0xa0, 0xb0, 0xe0, 0xa0, 0xb0, 0x00,
   0x60, 0x90, 0x80, 0x80, 0x90, 0x60, 0x40,
   0xf0, 0x80, 0xe0, 0x80, 0x80, 0xf0, 0x00,
   0xf0, 0x80, 0xe0, 0x80, 0x80, 0xf0, 0x00,
   0xf0, 0x80, 0xe0, 0x80, 0x80, 0xf0, 0x00,
   0xf0, 0x80, 0xe0, 0x80, 0x80, 0xf0, 0x00,
   0x70, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00,
   0x70, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00,
   0x70, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00,
   0x70, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00,
   0xe0, 0x50, 0xd0, 0x50, 0x50, 0xe0, 0x00,
   0xb0, 0x90, 0xd0, 0xb0, 0xb0, 0x90, 0x00,
   0x60, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00,
   0x60, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00,
   0x60, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00,
   0x60, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00,
   0x90, 0x60, 0x90, 0x90, 0x90, 0x60, 0x00,
   0x00, 0x00, 0x90, 0x60, 0x60, 0x90, 0x00,
   0x70, 0xb0, 0xb0, 0xd0, 0xd0, 0xe0, 0x00,
   0x90, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00,
   0x90, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00,
   0x90, 0x90, 0x90, 0x90, 0x90, 0x60, 0x00,
   0x90, 0x00, 0x90, 0x90, 0x90, 0x60, 0x00,
   0x50, 0x50, 0x50, 0x20, 0x20, 0x20, 0x00,
   0x80, 0xe0, 0x90, 0xe0, 0x80, 0x80, 0x00,
   0x60, 0x90, 0xa0, 0x90, 0x90, 0xa0, 0x00,
   0x40, 0x20, 0x70, 0x90, 0xb0, 0x50, 0x00,
   0x20, 0x40, 0x70, 0x90, 0xb0, 0x50, 0x00,
   0x20, 0x50, 0x70, 0x90, 0xb0, 0x50, 0x00,
   0x50, 0xa0, 0x70, 0x90, 0xb0, 0x50, 0x00,
   0x50, 0x00, 0x70, 0x90, 0xb0, 0x50, 0x00,
   0x60, 0x60, 0x70, 0x90, 0xb0, 0x50, 0x00,
   0x00, 0x00, 0x70, 0xb0, 0xa0, 0x70, 0x00,
   0x00, 0x00, 0x30, 0x40, 0x40, 0x30, 0x20,
   0x40, 0x20, 0x60, 0xb0, 0xc0, 0x60, 0x00,
   0x20, 0x40, 0x60, 0xb0, 0xc0, 0x60, 0x00,
   0x40, 0xa0, 0x60, 0xb0, 0xc0, 0x60, 0x00,
   0xa0, 0x00, 0x60, 0xb0, 0xc0, 0x60, 0x00,
   0x40, 0x20, 0x60, 0x20, 0x20, 0x70, 0x00,
   0x20, 0x40, 0x60, 0x20, 0x20, 0x70, 0x00,
   0x20, 0x50, 0x60, 0x20, 0x20, 0x70, 0x00,
   0x50, 0x00, 0x60, 0x20, 0x20, 0x70, 0x00,
   0x40, 0x30, 0x60, 0x90, 0x90, 0x60, 0x00,
   0x50, 0xa0, 0xe0, 0x90, 0x90, 0x90, 0x00,
   0x40, 0x20, 0x60, 0x90, 0x90, 0x60, 0x00,
   0x20, 0x40, 0x60, 0x90, 0x90, 0x60, 0x00,
   0x60, 0x00, 0x60, 0x90, 0x90, 0x60, 0x00,
   0x50, 0xa0, 0x60, 0x90, 0x90, 0x60, 0x00,
   0x50, 0x00, 0x60, 0x90, 0x90, 0x60, 0x00,
   0x00, 0x60, 0x00, 0xf0, 0x00, 0x60, 0x00,
   0x00, 0x00, 0x70, 0xb0, 0xd0, 0xe0, 0x00,
   0x40, 0x20, 0x90, 0x90, 0x90, 0x70, 0x00,
   0x20, 0x40, 0x90, 0x90, 0x90, 0x70, 0x00,
   0x60, 0x00, 0x90, 0x90, 0x90, 0x70, 0x00,
   0x50, 0x00, 0x90, 0x90, 0x90, 0x70, 0x00,
   0x20, 0x40, 0x90, 0x90, 0x50, 0x20, 0x40,
   0x00, 0x80, 0xe0, 0x90, 0x90, 0xe0, 0x80,
   0x50, 0x00, 0x90, 0x90, 0x50, 0x20, 0x40,
};


// ISO8859-1
extern const FontInfo FONT_5x7 = {
  .pointSize = 7,
  .width     = 5,
  .height    = 7,
  .ascent    = 7,
  .inleading = 0,
  .exleading = 0,
  .flags     = 0,
  .weight    = 400,
  .charset   = 44,
  .data      = FONT_5x7_DATA,
  .chptr     = NULL,
  .codepage  = 1252,
};

#else

extern const FontInfo FONT_5x7;

#endif

}
